PE Builder hulp
Inhoudsopgave

Plugin bestands formaat


  1. Introductie
  2. Een plugin maken
  3. PEBuilder section
  4. WinntDirectories section
  5. SourceDisksFiles section
  6. SourceDisksFolders section
  7. Software.AddReg section
  8. Software.DelReg section
  9. SetupReg.AddReg section
  10. Default.AddReg section
  11. Default.DelReg section
  12. AddLine section
  13. DelLine section
  14. SetValue section
  15. Append section
  16. Variabelen

Introductie

Dit document zal je helpen bij het zelf bouwen of wijzigen van PE Builder plugin bestanden. Het hoofd .inf bestand voor PE Builder is pebuilder.inf Wijzig dit bestand niet! Als je iets wilt aanpassen maak dan gebruik van een plugin bestand. Alle plugins staan in de plugin map. Ieder .inf bestand in de plugin map (doet er niet toe in welke map) met een "pebuilder" paragraaf wordt aangenomen als een geldige plugin voor PE Builder. Gebruik de deactiveren/activeren knop in het plugin scherm om plugins aan of uit te schakelen.

Een plugin maken

Een plugin .inf bestand moet een ascii bestand zijn, geen unicode. Regels die beginnen met een ";" (puntkomma) worden genegeerd (dit is commentaar).

Ieder plugin bestand moet beginnen met de regels zoals hieronder aangegeven:

; PE Builder v3 plug-in INF file
; Created by Bart Lagerweij
; http://www.nu2.nu/pebuilder/
;
; Korte omschrijving over wat de plugin doet

[Version]
Signature= "$Windows NT$"

[PEBuilder]
Name="MooieNaamVoorPlugin"
Enable=0
Help="pluginhelp.htm"
Letop: het plugin bestand moet de paragraaf [Version] Signature= "$Windows NT$" bevatten. Anders kunnen de setup functies van windows (setupapi) het bestand niet openen. Gebruik de informatie hieronder om meer paragrafen aan je plugin toe te voegen...

PEBuilder paragraaf

Als je een plugin maakt, dan moet je .inf bestand een [PEBuilder] paragraaf hebben!
Namede naam voor de plugin
Enablede status (aan of uit) van de plugin
0 - Uitgeschakeld
1 - Ingeschakeld
Helpde bestandsnaam voor de pluginhelp. Dit kan een tekst, html, doc, pdf of ieder ander type bestand zijn. PE Builder gebruikt de ShellExecute() funktie om het document te starten via het standaard geregistreerde bestandstype.
Configde bestandsnaam voor configuratie.

WinntDirectories paragraaf

paragraaf WinntDirectories gebruikt het volgende formaat:
mapNummer=mapNaam[, attribuut]

waar...
mapNummeris het map nummer (id)
In plugin .inf bestanden kun je 'a' t/m 'z' gebruiken voor het toekennen van dynamische nummers...
mapNaamis de naam van de map. Als de naam een spatie bevat, gebruik dan dubbele aanhalingstekens "er omheen".
attribuutnummer waarde voor extra opties
waarde:
1 - Map altijd aanmaken (ook al is deze leeg)
2 - Maak de map in de doel map (in \, niet in \i386).
Om te kombineren, waardes bij elkaar optellen...
De standaard waarde is 0.

Voorbeeld:
[WinntDirectories]
; Maak een map in de doel map \ genaamd "Bart", ook al is deze leeg, toch aanmaken
a="Bart",3
; Maak een map in de doel map \ genaamd "Project\Bart\Source"
b="Project\Bart\Source",3
; Maak een map in de \i386 map genaamd "extra\files"
c="extra\files",1

Hier is een lijst met de standaard map nummers:
IDDirectorieOpmerking
30000[root]PE Builder doel map
1\SysteemRoot (op de CD is dit de \i386 map, op de vaste schijf is dit de \minint map)
2system32
3system32\config
4system32\drivers
5system
17system32\drivers\etc
20inf
21Help
22Fonts
24msagent\intl
52msagent
124WinSxS
125WinSxS\Manifests
252WinSxS\Policies

PE Builder gebruikt map nummers die beginnen vanaf 30000. Nummer 30000 wordt al gebruikt voor de doel map. 30001 en hoger worden intern door PE Builder gebruikt voor het toekennen van dynamische map nummers (a-z).

SourceDisksFiles paragraaf

SourceDisksFiles[.bouw]

Deze paragraaf wordt gebruikt om bestanden te kopieren. Als je een "bouw" (in het engels build) nummer achter de paragraaf plaatst, dat wordt die paragraaf alleen gebruikt als je bron bestanden van datzelfde bouw nummer zijn.

BouwVersie
2600Windows XP
3790Server 2003

De paragraaf SourceDisksFiles gebruikt het volgende formaat:
bestandsnaam=mapNummer[, bestandsnaamHernoemd][, attribuut]

waar...
bestandsnaamhet bestand voor kopiδren.
mapNummerhet doel map nummer. Zie WinntDirectories paragraaf voor een lijst van standaard map nummers.
bestandsnaamHernoemdis het doel bestandsnaam als hernoemen nodig is.
attribuutnummer waarde voor extra opties
waarde:
1 - wordt gebruikt voor plugin controle bij activeren van een plugin. Dit zorgt ervoor dat het bestand werkelijk bestaat voordat de plugin wordt geactiveerd.
2 - bestand niet uitpakken.
4 - alleen kopieren als bestand bestaat. Er wordt niet geklaagd als het bestand niet bestaat.
8 - hernoem de bestandsnaam naar hoofdletters. Als een ISO image gebouwd wordt, hernoemd PE Builder de windows bestanden naar hoofdletters (nodig voor opstarten vanaf CD).
De standaard waarde is 0.

SourceDisksFolders paragraaf

SourceDisksFolders[.bouw]

Deze paragraaf wordt gebruikt om complete mappen en bestanden te kopieren. De paragraaf SourceDisksFolders gebruikt het volgende formaat:
bronPad=mapNummer

waar...
bronPadis de bron pad/map om vanaf te kopieren. Dit is een exacte kopie, er worden geen bestanden gedecomprimeerd of uitgepakt!
mapNummerhet doel map nummer. Zie WinntDirectories paragraaf voor een lijst van standaard map nummers.

Voorbeeld:
[WinntDirectories]
a="Programs\openoffice",2

[SourceDisksFolders]
; als openoffice map in plugin map
openoffice=a

[SourceDisksFolders]
; als openoffice map staat in c:\
c:\openoffice=a

Software.AddReg paragraaf

Software.AddReg[.bouw]

Voeg register sleutels toe aan HKEY_LOCAL_MACHINE\SOFTWARE.
Deze paragraaf gebruikt het volgende formaat:
regType, regKey, regValue, regData

waar...
regTypespecificeert het type informatie dat opgeslagen moet worden. Deze parameter kan een van de volgende waardes zijn:
0x0, (REG_NONE) sleutel zonder waarde
0x1, (REG_SZ) tekenreeks
0x2, (REG_EXPAND_SZ) tekenreeks met behulp van omgevingsvariabele
0x3, (REG_BINARY) binaire gegevens
0x4, (REG_DWORD) 32-bit getal
0x7, (REG_MULTI_SZ) meerdere tekenreeksen
* Letop: beginnen met "0x" (geen hoofdletter 'x')!
regKeyspecificeert de naam van de sleutel (tekenreeks).
regValuespecificeert de naam van de waarde (tekenreeks).
regDataDe werkelijk gegevens.

Voorbeeld:
0x1, "Microsoft\Windows NT\CurrentVersion\Fonts", "Tahoma (TrueType)","TAHOMA.TTF"
0x2, "Control Panel\desktop", "WallPaper", "%systemroot%\system32\nu2.bmp"
0x3, "ControlSet001\Control\TimeZoneInformation", "DaylightStart",\
	00,00,04,00,00,01,00,02,00,00,00,00,00,00,00,00
0x4, "ControlSet001\Control\GraphicsDrivers\DCI", "Timeout", 0x7
0x7, "ControlSet001\Services\VgaSave\Device0", "InstalledDisplayDrivers","vga", "framebuf", "vga256", "vga64k"

SetupReg.AddReg paragraaf

SetupReg.AddReg[.bouw]

Voeg register sleutels toe aan het "SetupReg.hiv" register. Werkt hetzelfde als Software.AddReg

Default.AddReg paragraaf

Default.AddReg[.bouw]

Voeg register sleutels toe aan HKEY_CURRENT_USER.
Werkt hetzelfde als Software.AddReg

Software.DelReg paragraaf

Software.DelReg[.bouw]

Verwijder register sleutels van het "Software" register. Deze paragraaf gebruikt het volgende formaat: regKey[, regValue]

waar...
regKeyspecificeert de naam van de sleutel (inclusief alle waarden) voor verwijderen (tekenreeks).
regValuespecificeert de naam van de waarde voor verwijderen (tekenreeks).

Default.DelReg paragraaf

Default.DelReg[.bouw]

Verwijder register sleutels van het "Default" register. Werkt hetzelfde als Software.DelReg

AddLine paragraaf

AddLine[.bouw]

Regels toevoegen aan een paragraaf. De paragraaf AddLine gebruikt het volgende formaat:
Filename,Section,StringToAdd

waar...
Filenamehet bestand waar de regel moet worden toegevoegd.
Sectionde paragraafnaam.
LineToAddde regel die moet worden toegevoegd.

Voorbeeld:
"netmscli.inf", "MSClient.DelReg", "HKLM, Software\Microsoft\Rpc\SecurityService, 9"

DelLine paragraaf

DelLine[.bouw]

Verwijder regels van bestand. De paragraaf DelLine gebruikt het volgende formaat:
Filename,Section,StringToDel

waar...
Filenamehet bestand waar de regel moet worden verwijderd.
Sectionde paragraafnaam.
StringToDelde tekenreeks die moet worden verwijderd. Je hoeft niet de gehele regel op te geven, elke regel die begint met "StringToDel" wordt verwijderd.

Voorbeeld:
"netmscli.inf", "MSClient.Browser.AddReg", "HKR, Parameters, MaintainServerList,"

SetValue paragraaf

SetValue[.bouw]

Schrijf waarde naar bestand. Deze paragraaf gebruikt het volgende formaat:
Filename,Section,Key,Value

waar...
Filenamehet bestand waar de waarde moet worden geschreven.
Sectionis de paragraafnaam.
Keyde sleutel waar de waarde in moet worden geschreven.
Valuede waarde.

Voorbeeld:
"netmscli.inf", "Alerter_Service_Inst", "StartType", "3"

Gebruik Filename,Section,Key om een key te verwijderen.
Gebruik Filename,Section om een paragraaf te verwijderen.

Append paragraaf

Append[.bouw]

Voeg gegevens van een bestand toe aan een ander bestand. Deze paragraaf gebruikt het volgende formaat:
Filename,FilenameToAppend

waar...
Filenameis het bestand waar de gegevens aan worden toegevoegd (dit bestand veranderd).
FilenameToAppendis het bestand welke de toe te voegen gegevens bevat.

Voorbeeld:
nu2menu.xml, penero_nu2menu.xml

Variabelen

De meeste tekenreeks velden in het plugin bestand kunnen speciale PE Builder variabelen bevatten::
Syntax: @variabel@

waar...
variabelwordt omgezet in...
ProgramProgramma naam (normaal PE Builder)
VersionProgramma versie
IsoFileVolledig pad en bestandsnaam naar ISO-image
OutDirVolledig pad naar doel map
SourcePathVolledig pad naar bron map
PluginDirVolledig pad naar huidige plugin map
PluginFileVolledig pad naar huidige plugin bestand
LanguageDe gebruikte taal
VerboseUitgebreide meldingen (0 is uit, 1 is aan)
BuildHet windows "bouw" nummer (2600 voor XP, 3790 voor server 2003)

Voorbeeld:
[SourceDisksFiles]
program.exe=2,,3
lang\@language@.lng=2,,3

Waar lang\@language@.lng wordt omgezet in lang\dutch.lng (als de nederlandse taal is geselecteerd).

Inhoudsopgave

PE Builder Copyright (c) 2002-2006 Bart Lagerweij. All rights reserved.